3f,%4d","MAYAPP","35.1753",12346);输出什么?为什么输出这个答案?谢谢了

来源:百度知道 编辑:UC知道 时间:2024/05/26 22:27:34
能说得详细点最好了,我是个出学者,谢谢了
printf("%s,%5.3f,%4d","MAYAPP","35.1753",12346);
输出的结果是什么,为什么是这个结果

输出的是:MAYAPP,0.000,2367460
1.因为printf的第一个格式是"%s"表字符串,而你输入的是"MAYAPP"的确是字符串,没问题,正确输出;
2.第二个格式是"5.3f"表整数位至少取5位,小数取3位,而你输入的是"35.1753",为字符串,与你的格式要求不一至,导致输出错误,如果详细追究的话,就与各种数据在内存中的分配这个话题有关了;
3.由于你第二个输出已经错了,很有可能导致了第三个数据在内存中遭到破坏,所有输出也错了。
注: printf("%s,%5.3f,%4d\n","MAYAPP",457735.1753,12346); 这样就不会有问题了!